草庐IT

HTML5 - 渲染简单的电路

全部标签

javascript - 在 Angular 中渲染基于时间的 Observables 而无需压倒性的变化检测

我们的Angular应用程序中有许多组件需要每秒定期显示每个组件唯一的新值(倒计时、时间戳、耗时等)。最自然的方法是创建使用RxJStimer和interval工厂函数的可观察对象。但是,这些会在整个应用程序的每个时间间隔触发Angular变化检测,调用时间间隔函数的次数。如果我们在页面上有几十个组件,这会触发整个应用程序每秒或每个时间段数十次的变化检测,从而产生很大的性能开销。到目前为止,我尝试了两种方法来解决这个问题。对任何一个的好的回答都会非常有帮助——最好是两者兼而有之。我想避免手动触发变更检测,而是依赖于Observables发出的新值,并让异步管道/OnPush变更检测策略

javascript - 使用 JQuery 以表单形式临时存储键值对的最简单方法

如何在表单中最优雅地临时存储字符串值数组?我有一个表单,用户可以在其中编辑文章-并添加标签,这些标签只是字符串值。我不想在用户实际保存整篇文章之前将其持久化,因此我需要能够暂时......:显示选中的标签列表在列表中添加标签从列表中删除一个标签在我保存表单时提交值列表我可以将所有内容存储在一个逗号分隔的隐藏字段中,但它看起来很丑,我更喜欢类型更强的东西。正确的做法是什么?非常欢迎指向示例。 最佳答案 JQuery提供了data正是这些情况的方法!它直接与nativeJavaScript对象一起使用,因此无需使用逗号分隔列表-只需使用

javascript - 在 NicEdit 所见即所得中插入 HTML

如何在NicEdit创建的div中的光标位置插入文本/代码?我已尝试阅读文档并创建自己的插件,但我希望它在没有工具栏(模态窗口)的情况下工作 最佳答案 这是一个快速解决方案,仅在Firefox中测试过。但它可以工作并且应该适用于IE和其他浏览器。functioninsertAtCursor(editor,value){vareditor=nicEditors.findEditor(editor);varrange=editor.getRng();vareditorField=editor.selElm();editorField.n

javascript - 有没有比这更简单的方法来计算扑克中的顺子?

我有一个算法来计算德州扑克中玩家的手牌是否是顺子。它工作正常,但我想知道是否有一种不涉及数组/字符串转换等的更简单的方法。这是我所拥有的简化版本。假设玩家拿到一手由52个元素组成的牌值数组:varrawHand=[1,0,0,0,0,0,0,0,0,0,0,0,0,//clubs0,0,0,0,0,0,0,0,0,0,0,0,0,//diamonds0,1,1,0,1,0,0,0,0,0,0,0,0,//hearts0,0,0,1,0,0,0,0,1,0,0,0,0];//spadesA1代表该值槽中的一张牌。上面的牌有2个梅花,没有方block,3个红心,4个红心,6个红心,5个黑桃

javascript - 在 Canvas HTML 上重绘大量对象

有没有一种快速有效的方法可以在canvas中移动大量对象?基本上,如果有大约1000个对象,并且我想一次移动所有对象以模拟滚动,则通过调用drawImage()1000多次来重绘每个对象会非常慢。有没有办法优化这个?我有一个问题的示例链接(而且只有100个对象):http://craftyjs.com/isometric/ 最佳答案 由于canvas不提供快速低级位图复制,因此很难在多个图层中执行操作,例如一次滚动整个背景然后只渲染边缘。那你能做什么?简而言之,什么都没有。尤其是在滚动时,当你有一个或多或少的静态背景时,你肯定可以用

javascript - HTMl+SVG+JavaScript : change text at runtime?

我准备将一些基于Flash的应用程序迁移到HTML+JavaScript+SVG(单一目标渲染引擎是Webkit)。我对SVG完全陌生,我想知道我是否可以使用SVG作为模板图像来填充屏幕并从HTML页面中嵌入的JavaScript代码动态更改包含的文本。我想做的是:在Inkscape中绘制页面的基本结构(带有一些图形和文本占位符),然后仅在HTML页面中显示SVG并通过JavaScript填充文本占位符。我可以通过在背景中显示静态SVG图像并在其顶部放置一些绝对定位的DIV来显示文本来获得相同的结果,但是我'我想在Inkscape中设计文本标签的位置、大小和样式。这能做到吗?怎么办?我

javascript - 如何使用 HTML5 Canvas 而不是 Debug Draw 来绘制我的 Box2D 世界?

我非常了解HTML5Canvas,我了解使用循环等的基础知识和动画。我正在使用的演示:(单击以制作形状)http://henry.brown.name/experiments/box2d/example-canvas.html我不太熟悉的是Box2D。我正在使用Box2DWeb端口,听说它比Box2D-js更新,我不确定哪个最好。我知道如何初始化“世界”并且我可以在世界中放置对象。然后,我使用Step为世界设置动画-但是到目前为止,为了在屏幕上显示它,我只能使用debugdraw来让它工作,因为它基本上会为你做所有事情。我不想使用调试绘图,而是使用Canvas来绘制,例如一辆汽车,而不

javascript - 在 html5 本地存储中存储音频文件 - 使用 javascript 下载音频文件

我搜索了一下,发现html5不支持直接存音频。我会将音频转换为base64字符串,然后存储在本地存储中。我正在使用jplayer开发一个html5音频播放器应用程序。我在服务器上有音频,我需要将它们存储在本地存储中,所以我需要用javascript下载音频文件。有没有办法用javascript下载音频文件?任何帮助将不胜感激。 最佳答案 本地存储的大小往往有限(5mb左右?找不到引用资料)所以这不太可能很好地工作。您也许可以查看使用HTML5AppCache或FilesystemAPI.

javascript - 检查变量是否为字符串的简单方法?

这个问题是[]isaninstanceofArraybut""isn'tofString的衍生问题鉴于此""instanceofString;/*false*/String()instanceofString;/*false*/newString()instanceofString;/*true*/和typeof""==="string";/*true*/typeofString()==="string";/*true*/typeofnewString()==="string";/*false*/然后,如果我有一个变量abc并且我想知道它是否是一个字符串,我可以这样做if(typeof

javascript - 在 mustache.js 模板中做一个简单的计算

是否可以在mustache.js模板中进行计算?我想将一个名为ratio的值乘以固定数量,例如240我的标签是这样的:既然url值显示正确,我感觉一定是计算出了问题。 最佳答案 选项1您可以使用一个函数来做到这一点:模板:代码:Mustache.render(template,{ratio:2,x240Times:function(){returnthis.ratio*240;}});选项2您也可以使用我的分机mustache-wax在模板中使用格式化程序,例如:定义一个接受一个参数的“乘法”格式化程序:Mustache.Forma